package com.whfc.influx.dao;

import com.whfc.common.result.PageData;
import com.whfc.env.dto.AppDeviceEnvLogDTO;
import com.whfc.env.dto.EnvLogDTO;
import com.whfc.env.entity.AppDeviceDustLog;

import java.util.Date;
import java.util.List;

/**
 * @Description:
 * @author: xugcheng
 * @version: 1.0
 * @date: 2020-11-03 16:57
 */
public interface AppDeviceEnvLogDao {

    /**
     * 插入数据
     *
     * @param record
     */
    boolean insert(AppDeviceDustLog record);

    /**
     * 批量插入数据
     *
     * @param records
     */
    void batchInsert(List<AppDeviceDustLog> records);

    /**
     * 查询环境硬件数据
     *
     * @param dustId
     * @param startTime
     * @param endTime
     * @return
     */
    List<AppDeviceEnvLogDTO> selectByDustIdAndTimeBetween(Integer dustId, Date startTime, Date endTime);

    /**
     * 查询环境硬件数据
     *
     * @param dustId
     * @param startTime
     * @param endTime
     * @param columnList
     * @return
     */
    List<AppDeviceEnvLogDTO> selectByDustIdAndTimeBetween(Integer dustId, Date startTime, Date endTime, List<String> columnList);

    /**
     * 查询硬件数据
     *
     * @param dustId
     * @param startTime
     * @param endTime
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageData<AppDeviceEnvLogDTO> selectByDustIdAndTimeBetween(Integer dustId, Date startTime, Date endTime, Integer pageNum, Integer pageSize);

    /**
     * 环境日志
     *
     * @param dustIdList 环境设备ID
     * @param date       日期
     * @return
     */
    EnvLogDTO envLog(List<Integer> dustIdList, Date date);
}
